home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / chbtrd.z / chbtrd
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCHHHHBBBBTTTTRRRRDDDD((((3333FFFF))))                                                          CCCCHHHHBBBBTTTTRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CHBTRD - reduce a complex Hermitian band matrix A to real symmetric
  10.      tridiagonal form T by a unitary similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CHBTRD( VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO
  14.                         )
  15.  
  16.          CHARACTER      UPLO, VECT
  17.  
  18.          INTEGER        INFO, KD, LDAB, LDQ, N
  19.  
  20.          REAL           D( * ), E( * )
  21.  
  22.          COMPLEX        AB( LDAB, * ), Q( LDQ, * ), WORK( * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      CHBTRD reduces a complex Hermitian band matrix A to real symmetric
  26.      tridiagonal form T by a unitary similarity transformation:  Q**H * A * Q
  27.      = T.
  28.  
  29.  
  30. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  31.      VECT    (input) CHARACTER*1
  32.              = 'N':  do not form Q;
  33.              = 'V':  form Q;
  34.              = 'U':  update a matrix X, by forming X*Q.
  35.  
  36.      UPLO    (input) CHARACTER*1
  37.              = 'U':  Upper triangle of A is stored;
  38.              = 'L':  Lower triangle of A is stored.
  39.  
  40.      N       (input) INTEGER
  41.              The order of the matrix A.  N >= 0.
  42.  
  43.      KD      (input) INTEGER
  44.              The number of superdiagonals of the matrix A if UPLO = 'U', or
  45.              the number of subdiagonals if UPLO = 'L'.  KD >= 0.
  46.  
  47.      AB      (input/output) COMPLEX array, dimension (LDAB,N)
  48.              On entry, the upper or lower triangle of the Hermitian band
  49.              matrix A, stored in the first KD+1 rows of the array.  The j-th
  50.              column of A is stored in the j-th column of the array AB as
  51.              follows:  if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-
  52.              kd)<=i<=j; if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for
  53.              j<=i<=min(n,j+kd).  On exit, the diagonal elements of AB are
  54.              overwritten by the diagonal elements of the tridiagonal matrix T;
  55.              if KD > 0, the elements on the first superdiagonal (if UPLO =
  56.              'U') or the first subdiagonal (if UPLO = 'L') are overwritten by
  57.              the offdiagonal elements of T; the rest of AB is overwritten by
  58.              values generated during the reduction.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCHHHHBBBBTTTTRRRRDDDD((((3333FFFF))))                                                          CCCCHHHHBBBBTTTTRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      LDAB    (input) INTEGER
  75.              The leading dimension of the array AB.  LDAB >= KD+1.
  76.  
  77.      D       (output) REAL array, dimension (N)
  78.              The diagonal elements of the tridiagonal matrix T.
  79.  
  80.      E       (output) REAL array, dimension (N-1)
  81.              The off-diagonal elements of the tridiagonal matrix T:  E(i) =
  82.              T(i,i+1) if UPLO = 'U'; E(i) = T(i+1,i) if UPLO = 'L'.
  83.  
  84.      Q       (input/output) COMPLEX array, dimension (LDQ,N)
  85.              On entry, if VECT = 'U', then Q must contain an N-by-N matrix X;
  86.              if VECT = 'N' or 'V', then Q need not be set.
  87.  
  88.              On exit:  if VECT = 'V', Q contains the N-by-N unitary matrix Q;
  89.              if VECT = 'U', Q contains the product X*Q; if VECT = 'N', the
  90.              array Q is not referenced.
  91.  
  92.      LDQ     (input) INTEGER
  93.              The leading dimension of the array Q.  LDQ >= 1, and LDQ >= N if
  94.              VECT = 'V' or 'U'.
  95.  
  96.      WORK    (workspace) COMPLEX array, dimension (N)
  97.  
  98.      INFO    (output) INTEGER
  99.              = 0:  successful exit
  100.              < 0:  if INFO = -i, the i-th argument had an illegal value
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.